﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using GPS.DataAccessLayer;
using System.Data;
using Oracle.ManagedDataAccess.Client;


namespace GPS.GPS_DAL
{
    public class GPS_BaoCaoDAO
    {
        /// <summary>
        /// ví dụ: Hàm này truyền vào 1 chuỗi connectionstring, param1,from, to tùy từng nghiệp vụ xử lý 
        /// Giá trị trả ra là 1 dataset, ở đây có 2 pRet1,pRet1 ==> Dataset sẽ có 2 Datatable, 
        /// </summary>
        /// <param name="connectionString"></param>
        /// <param name="param1"></param>
        /// <param name="from"></param>
        /// <param name="to"></param>
        /// <returns></returns>
        public DataSet GetData(string connectionString, string param1, DateTime? from, DateTime? to)
        {
            //đoạn này dùng để lấy dữ liệu các Package nhiều cursor, trả ra Dataset, 
            DataSet ds = OracleHelper.ExecuteDataset(connectionString, CommandType.StoredProcedure, ""
                                                     , new OracleParameter("param1", OracleDbType.Varchar2, string.IsNullOrWhiteSpace(param1) ? DBNull.Value : (object)param1, ParameterDirection.Input)
                                                     , new OracleParameter("pfrom", OracleDbType.Date, from == null ? DBNull.Value : (object)from.Value, ParameterDirection.Input)
                                                     , new OracleParameter("pto", OracleDbType.Date, to == null ? DBNull.Value : (object)to.Value, ParameterDirection.Input)
                                                     , new OracleParameter("pRet1", OracleDbType.RefCursor, ParameterDirection.Output)
                                                     , new OracleParameter("pRet2", OracleDbType.RefCursor, ParameterDirection.Output)
                                                    );

            return ds;
        }


        public DataSet GetData_BC_DeNghiThiSatHach(string connectionString, string param1)
        {
            DataSet ds = OracleHelper.ExecuteDataset(connectionString, CommandType.StoredProcedure, "GPS_EXPORT.GPS_EXPORT_DENGHITOCHUCSATHACH"
                                                     , new OracleParameter("pDVGTVT_MA", OracleDbType.Varchar2, string.IsNullOrWhiteSpace(param1) ? DBNull.Value : (object)param1, ParameterDirection.Input)
                                                     , new OracleParameter("pRET_THIMOI", OracleDbType.RefCursor, ParameterDirection.Output)
                                                     , new OracleParameter("pRET_CHUATHI", OracleDbType.RefCursor, ParameterDirection.Output)
                                                    , new OracleParameter("pRET_VANGTHI", OracleDbType.RefCursor, ParameterDirection.Output)
                                                    , new OracleParameter("pRET_THILAI", OracleDbType.RefCursor, ParameterDirection.Output)
                                                    );

            return ds;
        }

    }

    public class Class1
    {
        public int MyProperty { get; set; }
    }

    public class Class2
    {
        public int MyProperty { get; set; }
    }

}